package com.wsoft.form.service;

import com.alibaba.fastjson.JSONObject;
import com.wsoft.form.entity.WfFormDesignEntity;
import com.wsoft.form.query.design.DesignInsertQuery;
import com.wsoft.form.query.design.DesignListQuery;
import com.wsoft.form.query.design.DesignUpdateQuery;

import java.util.List;

/**
 * <p>
 * 自定义表单-设计表 服务类
 * </p>
 *
 * @author Z001
 * @since 2024年08月29日 09:11:06
 */
public interface IWfFormDesignService  {

    /**
     * 新增自定义表单
     * @param query
     * @return
     */
    boolean insertFormDesign(DesignInsertQuery query);

    /**
     * 修改自定义表单
     * @param query
     * @return
     */
    boolean updateFormDesign(DesignUpdateQuery query);

    /**
     * 获取自定义表单列表
     * @param query
     * @return  WfFormDesignEntity
     */
    List<WfFormDesignEntity> listFormDesign(DesignListQuery query);

    /**
     * 删除自定义表单
     * @param designId
     * @return boolean
     */
    boolean delFormDesign(Long designId);


    /**
     * 获取指定在线表单对象在前端渲染时所需的所有数据对象
     * @param designId
     * @return
     */
    JSONObject render(Long designId);

    /**
     * 根据id获取
     * @param id
     * @return
     */
    WfFormDesignEntity get(Long id);
}
